/**
 * 下面是两种方法可以判断一个对象是否为空对象：
 * 方法一：使用Object.keys()方法，判断该对象的键数组长度是否为0。
 * 方法二：使用for...in循环遍历对象的所有键，若有任一键存在则认为该对象非空。
*/

//方法一：使用Object.keys()方法，判断该对象的键数组长度是否为0。
function isEmpty(obj) {
    return Object.keys(obj).length === 0;
}

const obj1 = {}; // 空对象
console.log(isEmpty(obj1)); // 输出 true

const obj2 = { name: 'Tom', age: 18 }; // 非空对象
console.log(isEmpty(obj2)); // 输出 false

//方法二：使用for...in循环遍历对象的所有键，若有任一键存在则认为该对象非空。

function isEmpty(obj) {
    for (let key in obj) {
        if (obj.hasOwnProperty(key)) {
            return false;
        }
    }
    return true;
}

const obj1 = {}; // 空对象
console.log(isEmpty(obj1)); // 输出 true

const obj2 = { name: 'Tom', age: 18 }; // 非空对象
console.log(isEmpty(obj2)); // 输出 false